#ifndef PLAYER_H
#define PLAYER_H
#include "weapon_thunder.h"
#include "core/actor.h"
#include "affiliate/sprite_anim.h"
#include "world/effect.h"
class Timer;

class Player : public Actor {
private:
    WeaponThunder *weapon_thunder_ = nullptr;
    SpriteAnim *sprite_idle_ = nullptr; // 精灵停止动画
    SpriteAnim *sprite_move_ = nullptr; // 精灵移动动画
    bool is_move_ = false; // 是否移动
    Effect *effect_ = nullptr;
    Timer *flash_timer_ = nullptr;

public:
    void init() override; // 初始化
    void update(float dt) override; // 更新
    void render() override; // 渲染
    void clean() override; // 清理
    void takeDamage(float damage) override;

    bool handleEvents(SDL_Event &event) override; // 处理事件
    void keyboardEvent(); // 键盘事件
    void syncCamera(); // 同步摄像机
    void checkState(); // 检查状态
    void changeState(bool is_moving); // 改变状态
    void checkIsDead();
};
#endif // PLAYER_H
